#if !defined(AFX_ICONBUTTON_H__5D3CEAAA_ADE5_46B5_B1D9_56FE69DB361D__INCLUDED_)
#define AFX_ICONBUTTON_H__5D3CEAAA_ADE5_46B5_B1D9_56FE69DB361D__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// IconButton.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CIconButton window

class CIconButton : public CButton
{
// Construction
public:
	CIconButton();

// Attributes
protected:
	HICON m_hIcon;
	int m_nIconWidth;
	int m_nIconHeight;

	BOOL CalcIconRect(CDC *pDC, CRect &rcIcon);
	BOOL CalcTextRect(CDC *pDC, LPCTSTR lpszText, CRect &rcText, CRect &rcIcon);

	// Operations
public:
	BOOL SetIcon(UINT nID, int nWidth, int nHeight);

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CIconButton)
	public:
	virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
	protected:
	virtual void PreSubclassWindow();
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CIconButton();

	// Generated message map functions
protected:
	//{{AFX_MSG(CIconButton)
		// NOTE - the ClassWizard will add and remove member functions here.
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_ICONBUTTON_H__5D3CEAAA_ADE5_46B5_B1D9_56FE69DB361D__INCLUDED_)
